﻿//PlazaPortfolioColumns.cs
//Copyright (c) 2013 StockSharp LLC, all rights reserved.
//This code module is part of StockSharp library.
//This code is licensed under the GNU GENERAL PUBLIC LICENSE Version 3.
//See the file License.txt for the license details.
//More info on: http://stocksharp.com

namespace StockSharp.Plaza.Metadata
{
	/// <summary>
	/// Поток FORTS_PART_REPL - Информация о средствах и лимитах.
	/// Таблица part - Средства и лимиты клиентов.
	/// </summary>
	public class PlazaPortfolioColumns : PlazaColumns
	{
		internal PlazaPortfolioColumns()
			: base(PlazaTableSystemName.Portfolio)
		{
			ClientCode = new PlazaColumn(TableId, "client_code", "c7");
			CoeffGo = new PlazaColumn(TableId, "coeff_go", "d16.5");
			CoeffLiquidity = new PlazaColumn(TableId, "coeff_liquidity", "d16.5", false);
			MoneyOld = new PlazaColumn(TableId, "money_old", "d26.2");
			MoneyAmount = new PlazaColumn(TableId, "money_amount", "d26.2");
			MoneyFree = new PlazaColumn(TableId, "money_free", "d26.2", false);
			MoneyBlocked = new PlazaColumn(TableId, "money_blocked", "d26.2", false);
			PledgeOld = new PlazaColumn(TableId, "pledge_old", "d26.2", false);
			PledgeAmount = new PlazaColumn(TableId, "pledge_amount", "d26.2", false);
			PledgeFree = new PlazaColumn(TableId, "pledge_free", "d26.2", false);
			PledgeBlocked = new PlazaColumn(TableId, "pledge_blocked", "d26.2", false);
			VmReserve = new PlazaColumn(TableId, "vm_reserve", "d26.2", false);
			VmInterClearing = new PlazaColumn(TableId, "vm_intercl", "d26.2");
			Fee = new PlazaColumn(TableId, "fee", "d26.2");
			FeeReserve = new PlazaColumn(TableId, "fee_reserve", "d26.2", false);
			LimitSpotBuy = new PlazaColumn(TableId, "limit_spot_buy", "d26.2", false);
			LimitSpotBuyUsed = new PlazaColumn(TableId, "limit_spot_buy_used", "d26.2", false);
			IsAutoUpdateLimit = new PlazaColumn(TableId, "is_auto_update_limit", typeof(bool), false);
			IsAutoUpdateSpotLimit = new PlazaColumn(TableId, "is_auto_update_spot_limit", typeof(bool), false);
			NoFutDiscount = new PlazaColumn(TableId, "no_fut_discount", typeof(bool), false);
			LimitsSet = new PlazaColumn(TableId, "limits_set", typeof(bool), false);
			Premium = new PlazaColumn(TableId, "premium", "d26.2", false);
			PremiumOrderReserve = new PlazaColumn(TableId, "premium_order_reserve", typeof(double), false);
		}

		/// <summary>
		/// Код клиента.
		/// </summary>
		public readonly PlazaColumn ClientCode;

		/// <summary>
		/// Коэффициент клиентского ГО.
		/// </summary>
		public readonly PlazaColumn CoeffGo;

		/// <summary>
		/// Коэффициент ликвидности.
		/// </summary>
		public readonly PlazaColumn CoeffLiquidity;

		/// <summary>
		/// Денег на начало сессии.
		/// </summary>
		public readonly PlazaColumn MoneyOld;

		/// <summary>
		/// Всего денег.
		/// </summary>
		public readonly PlazaColumn MoneyAmount;

		/// <summary>
		/// Свободно денег.
		/// </summary>
		public readonly PlazaColumn MoneyFree;

		/// <summary>
		/// Заблокировано денег.
		/// </summary>
		public readonly PlazaColumn MoneyBlocked;

		/// <summary>
		/// Залогов на начало сессии.
		/// </summary>
		public readonly PlazaColumn PledgeOld;

		/// <summary>
		/// Всего залогов.
		/// </summary>
		public readonly PlazaColumn PledgeAmount;

		/// <summary>
		/// Свободно залогов.
		/// </summary>
		public readonly PlazaColumn PledgeFree;

		/// <summary>
		/// Заблокировано залогов.
		/// </summary>
		public readonly PlazaColumn PledgeBlocked;

		/// <summary>
		/// Сумма, зарезервированная под отрицательную вариационную маржу.
		/// </summary>
		public readonly PlazaColumn VmReserve;

		/// <summary>
		/// Вариационная маржа, списанная или полученная в пром. клиринг.
		/// </summary>
		public readonly PlazaColumn VmInterClearing;

		/// <summary>
		/// Списанный сбор.
		/// </summary>
		public readonly PlazaColumn Fee;

		/// <summary>
		/// Заблокированный резерв сбора под заявки.
		/// </summary>
		public readonly PlazaColumn FeeReserve;

		/// <summary>
		/// Лимит на Покупку Спотов.
		/// </summary>
		public readonly PlazaColumn LimitSpotBuy;

		/// <summary>
		/// Использованный Лимит на Покупку Спотов.
		/// </summary>
		public readonly PlazaColumn LimitSpotBuyUsed;

		/// <summary>
		/// Признак автоматической коррекции лимита на величину
		/// дохода при закачке после клиринга.
		/// </summary>
        public readonly PlazaColumn IsAutoUpdateLimit;

		/// <summary>
		/// Признак автоматической коррекции лимитов по Спотам
		/// (на Продажу, и на Покупку) при закачке после клиринга.
		/// </summary>
        public readonly PlazaColumn IsAutoUpdateSpotLimit;

		/// <summary>
		/// Флаг запрещения использования скидки по фьючерсам.
		/// </summary>
        public readonly PlazaColumn NoFutDiscount;

		/// <summary>
		/// Наличие установленных денежного и залогового лимитов.
		/// </summary>
		public readonly PlazaColumn LimitsSet;

		/// <summary>
		/// Премия.
		/// </summary>
		public readonly PlazaColumn Premium;

		/// <summary>
		/// Резерв премии под заявки.
		/// </summary>
		public readonly PlazaColumn PremiumOrderReserve;
	}
}